home *** CD-ROM | disk | FTP | other *** search
- ! -------------
- ! C-128 RAM`MAP
- ! -------------
- !
- ! By James Hermann
- ! 74576.711
- !
- !With Help From-
- !
- ! Allen Yoder/SCOPE
- ! Dave Haynie/Commodore
- ! 76703.2047
- !
- !0002-0089 BASIC Zero Page
- ! 0002-0009 Temp. Storage-BANK;<PC;
- ! >PC;ST;A;X;Y;P from CPU
- ! or code for switch to 64
- ! 0009 CHARAC ;SEARCH CHARACTER
- ! 000A ENDCHR ;FLAG-SCAN FOR QUOTE
- ! 000B TRMPOS ;SCR COL / LAST`TAB
- ! 000C VERCHK ;FLAG- 0=LOAD 1=VER
- ! 000D COUNT ;INPUT BUF.PTR/ # OF
- ! SUBSCRIPTS
- ! 000E DIMFLAG ;FLAG- DFLT ARR DIM
- ! 000F VALTYP ;DATA TYPE-
- ! $FF=STR $00=NUM
- ! 0010 INTFLAG ;DATA TYPE-
- ! $00=FL.PT. $80=INT
- ! 0011 GARBFL ;FLAG- DATA SCAN /
- ! LIST QUOTE/GARB.COL
- ! 0011 DORES
- ! 0012 SUBFLG ;FLAG-SUBSCRIPT REF.
- ! / USER FUNC. CALL
- ! 0013 INPFLG ;FLAG- $00=INPUT;
- ! $40=GET; $98=READ
- ! 0014 DOMASK
- ! 0014 TANSGN ;FLAG- TAN SIGN /
- ! COMPARISON RESULT
- ! 0015 ;CHANNEL`POKER
- ! 0016 LINNUM ;TEMP INTEGER VALUE
- ! 0018 TEMPOT ;PNTR-TEMP STR STACK
- ! 0019 LASTPT ;LAST TEMP STR ADDR
- ! 0019 TEMPST ;STACK FOR TEMP STRS
- ! 0024 INDEX ;UTIL. POINTER AREA
- ! 0028 RESHO ;FL.PT. PROD OF MULT
- ! 0029 RESMOH
- ! 002A ADDEND
- ! 002A RESMO
- ! 002B RESLO
- ! 002D-003C BASIC memory vectors
- ! 002D Start of BASIC Pgm RAM(0)
- ! 002F Start of Var.$0400 RAM(1)
- ! 0031 Start of Arrays RAM(1)
- ! 0033 End of Arrays + 1 RAM(1)
- ! 0035 Bottom of Strings RAM(1)
- ! 0037 Lowest String vctr RAM(1)
- ! 0039 Top of Strings RAM(1)
- ! 003B CURLIN ;CURR. BASIC LINE #
- ! 003D TXTPTR ;PNTR TO BASIC TXT
- ! 003F FORM ;USED BY PRINT USING
- ! 003F FNDPNT ;POINTER TO ITEM
- ! FOUND BY SEARCH
- ! 0041 DATLIN ;CURRENT DATA LINE#
- ! 0043 DATAPTR ;CURRENT DATA ADDR
- ! 0045 INPPTR ;VECTOR-INPUT ROUT.
- ! 0047 VARNAM ;CURR BASIC VAR NAME
- ! 0049 FDECPT
- ! 0049 VARPNT ;POINTER- CURRENT
- ! BASIC VARIABLE DATA
- ! 004B LSTPNT
- ! 004B ANDMSK
- ! 004B FORPNT ;POINTER- INDEX
- ! VARIABLE FOR/NEXT
- ! 004C EORMSK =FORPNT+1
- ! 004D VARTXT
- ! 004D OPPTR
- ! 004F OPPMASK
- ! 0050 GRBPNT
- ! 0050 TEMPF3
- ! 0050 DEFPNT
- ! 0052 DSCPNT
- ! 0055 HELPER
- ! 0056 JMPER
- ! 0058 OLDOV
- ! 0059 TEMPF1
- ! PTARG1 =TEMPF1 ;MULTIPLY
- ! DEFINED FOR INSTR
- ! PTARG2 =TEMPF1+2
- ! STR1 =TEMPF1+4
- ! STR2 =TEMPF1+7
- ! POSITN =TEMPF1+10
- ! MATCH =TEMPF1+11
- ! 005A ARYPNT
- ! 005A HIGHDS
- ! 005C HIGHTR
- ! 005E TEMPF2
- ! 005F DECCNT
- ! 0061 GRBTOP
- ! 0061 DPTFLG
- ! 0061 LOWTR
- ! 0062 EXPSGN
- ! TENEXP =DECCNT+1
- ! 0063 FAC
- ! 0063 DSCTMP
- ! 0063 LEFTFLAG ;PAINT-LEFT FLAG
- ! 0063 FACEXP ;FAC#1 EXPONET
- ! 0064 RIGHTFLAG ;PAINT-RIGHT FLAG
- ! 0065 FACMOH
- ! 0066 INDICE
- ! 0066 FACMOH
- ! 0067 FACMO
- ! 0068 FACSGN ;POINTER-
- ! SERIES-EVAL. CONST.
- ! 0069 DEGREE
- ! 0069 SGNFLG ;POINTER-
- ! SERIES-EVAL. CONST.
- ! 006A ARGEXP ;FAC#2 EXPONET
- ! 006B ARGHO ;FAC#2 MANTISSA
- ! 006C ARGMOH
- ! 006D ARGMO
- ! 006E ARGLO
- ! 006F ARGSGN ;FAC#2 SIGN
- ! 0070 STRNG1
- ! 0070 ARISGN ;SIGN COMPARISON
- ! RESOUL;FAC#1 VS #2
- ! 0071 FACOV ;FAC#1 LOW-ORDER
- ! (ROUNDING)
- ! 0072 STRNG2
- ! 0072 POLYPT
- ! 0072 CURTOL
- ! 0072 FBUFPT ;PNTR; CASS. BUFFER
- ! 0074 AUTINC ;INC. VAL FOR AUTO
- ! (0=OFF)
- ! 0076 MVDFLG ;FLAG IF 10K HIRES
- ! 0077 NOZE ;USING LEAD ZERO CT
- ! 0077 SPRNUM ;MOVSPR&SPRITE TEMP
- ! 0077 KEYNUM
- ! 0078 HULP ;COUNTER
- ! 0078 KEYSIZ
- ! 0079 SYNTMP ;TEMP FOR IND LOADS
- ! 007A DSDEC ;DESCRIPTOR FOR DS$
- ! 007D TOS ;TOP / RUNTIME STACK
- ! 007F RUNMOD ;FLAG-RUN/DIR. MODE
- ! 0080 PARSTS ;DOS PARSER ST WORD
- ! 0080 POINT ;USING PNTR/DEC.PT.
- ! 0081 PARSTX
- ! 0082 OLDSTK ;GRAPHIC ZP STORAGE
- ! 0083 COLSEL ;CURRENT COLOR
- ! 0084 MULTICOLOR1
- ! 0085 MULTICOLOR2
- ! 0086 FOREGROUND
- ! 0087 SCALEX ;SCALE FACTOR IN X
- ! 0089 SCALEY ;SCALE FACTOR IN Y
- ! 008B STOPNB ;STOP PAINT IF NOT
- ! B.G./SAME COLOR
- ! 008C GRAPNT
- ! 008E VTEMP1
- ! 008F VTEMP2
- !0090-00FF KERNAL Zero Page
- ! 0090 STATUS ;I/O OPER STAT BYTE
- ! 0091 Flag; STOP key
- ! 0092 SVXT ;TAPE TEMPORARY
- ! 0093 VERCK ;LOAD OR VERIFY FLAG
- ! 0094 C3P0 ;SER. BUFFERED CHAR
- ! 0095 BSOUR ;CHAR BUF FOR SERIAL
- ! 0096 SYNO ;CASS SYNC BUFFER
- ! 0097 XSAV ;TEMP FOR BASIN
- ! 0098 No. of open files
- ! 0099 Default Input Device(0)
- ! 009A Default Output Device(3)
- ! 009B PRTY ;CASSETTE PARITY
- ! 009C DPSW ;CASS.DIPOLE SWITCH
- ! 009D MSGFLG ;OS MESSAGE FLAG
- ! 009E PTR1 ;CASS. ERROR PASS 1
- ! 009E T1 ;TEMP 1
- ! 009F PTR2 ;CASS. ERROR PASS 2
- ! 009F T2 ;TEMP 2
- ! 00A0-00A2 Jiffy Clock
- ! 00A3 R2D2 ;SERIAL BUSS USAGE
- ! 00A3 PCNTR ;CASSETTE STUFF
- ! 00A4 BSOUR1 ;TEMP/SERIAL ROUTINE
- ! 00A4 FIRT
- ! 00A5 COUNT ;TEMP/SERIAL ROUTINE
- ! 00A5 CNTDN ;CASS.SYNC COUNTDOWN
- ! 00A6 BUFPT ;CASS.BUFFER POINTER
- ! 00A7 INBIT ;RS232 RCVR IN. BIT
- ! 00A7 SHCN1 ;CASS. SHORT COUNT
- ! 00A8 BITCI ;RS232 RCVR BIT CNT
- ! 00A8 RER ;CASSETTE READ ERROR
- ! 00A9 RINONE ;RS-232 RCVR FL FOR
- ! START BIT CHECK
- ! 00A9 REZ ;CASS READING ZEROS
- ! 00AA RIDATA ;RS232 RCVR BYTE BUF
- ! 00AA RDFLG ;CASSETTE READ MODE
- ! 00AB RIPRTY ;RS232 REVR PARITY
- ! 00AB SHCNH ;CASS. SHORT COUNT
- ! 00AC SAL ;POINTER - TAPE
- ! BUF./SCREEN SCROLL
- ! 00AD SAH
- ! 00AE EAL ;TAPE END ADDRESSES/
- ! END OF PROGRAM
- ! 00AF EAH ;
- ! 00B0 CMP0 ;TAPE TIME CONST.
- ! 00B1 TEMP
- ! 00B2-00B3 Tape Buffer vector
- ! 00B4 BITTS ;RS-232 TRNS BIT CNT
- ! 00B4 SNSWL
- ! 00B5 NXTBIT ;RS232 TRNS NEXT BIT
- ! 00B5 DIFF
- ! 00B6 RODATA ;RS232 TRNS BYTE BUF
- ! 00B6 PRP ;
- ! 00B7 LEN of current filename
- ! 00B8 Current File No.
- ! 00B9 Current Sec. Addr.
- ! 00BA Current Device No.
- ! 00BB-00BC Filename address
- ! 00BD ROPRTY ;RS232 TRNS PARITY
- ! 00BD OCHAR ;
- ! 00BE FSBLK ;CASS READ BLOCK CNT
- ! 00BF DRIVE
- ! 00BF MYCH ;SERIAL WORD BUFFER
- ! 00C0 CASL ;CASSETTE
- ! MANUAL/CONTROLLED SWITCH (IRQ)
- ! 00C1 TRACK
- ! 00C1 STAL ;IO START ADDR (<LB)
- ! 00C2 STAH ;IO START`ADDR (>HB)
- ! 00C3-4 MEMUSS ;CASS LOAD TEMPS
- ! 00C3 TMP2
- ! 00C5 DATA ;TAPE READ WRITE DATA
- ! 00C6 BA ;BANK FOR CURRENT
- ! 00C7 FNBANK ;BANK OF FILENAME
- ! 00C8 RIBUF ;RS232 INPUT BUF PTR
- ! 00CA ROBUF ;RS232 OUTPUT BUF PTR
- ! 00CC KEYTAB ;KEYSCAN TABLE PTR
- ! 00CE IMPARM ;PRIM UTIL STRG CNTR
- ! 00D0 NDX ;INDEX/KEYBOARD QUE
- ! 00D1 KYNDX ;PENDING FUNCTION KEY
- ! 00D2 KEYIDX ;INDEX TO PENDING
- ! FUNCTION KEY STRING
- ! 00D3 SHFLAG ;SHIFT KEY STATUS
- ! 00D4 SFDX ;CURRENT KEY INDEX
- ! 00D5 LTSX ;LAST KEY INDEX
- ! 00D6 CRSM ;(CR) INPUT FLAG
- ! 00D7 MODE ;40/80 COLUMN MODE
- ! 00D8 GRAPHM ;TEXT GRAPHIC MODE
- ! 00D9 CHAREN ;RAM/ROM VIC CHAR
- ! FETCH FLAG
- !;THE FOLLOWING LOCATIONS ARE SHARED BY
- ! SEVERAL`ROUTINES
- !;00DA SEDSAL ;PNTR FOR MOVELINE
- ! 00DC SEDEAL ;
- ! 00DE SEDT1 ;SAVPOS
- ! 00DF SEDT2 ;
- !;00DA KEYSIZ ;PROG KEY VAR
- ! 00DB KEYLEN ;
- ! 00DC KEYNUM ;
- ! 00DD KEYNXT ;
- ! 00DE KEYBNK ;
- ! 00DF KEYTMP ;
- !;00DA BITMSK ;TEMP/TAB&LINE WRAP
- ! 00DB SAVER ;YET ANOTHER TEMP
- ! 00DE-00DF ;LOCAL SCR EDIT VAR
- ! (40/80 MODE CHANGE)
- !;00E0 ;PNTRS FOR SCR ED
- !;00FF ;END OF SCR ED VAR
- !0100-01FF CPU Stack
- ! 0100-010F F BUFFER
- ! 0100 ;BASIC DOS INTRFC VAR
- ! 0110-0148 BASIC DOS Using
- ! 0124 ;END OF DOS VARS
- ! 0125-0138 ;SPACE FOR PRT USING
- !0200-02A1 BASIC and MON input buf
- !02A2-02FB KERNAL RAM Code
- ! 02A2-02AE LDA ($ZP);y for MMU=x
- ! 02AA Zero-Page indirect addr
- ! 02AF-02BD STA ($ZP);y for MMU=x
- ! 02B9 Zero-Page indirect addr
- ! 02BE-02CC CMP ($ZP);y for MMU=x
- ! 02C8 Zero-Page indirect addr
- ! 02CD-02CF JSR $02E3
- ! 02D0-02E2 Store CPU reg. in $02-09
- ! 02E3-02FB RTI based on $02-09
- !02FC-033B Indirect vectors-unknown
- ! 0300 Print BASIC Message 4D3F
- ! 0302 BASIC Warm Start 4DC6
- ! 0304 Tokenize BASIC Text 430D
- ! 0306 BASIC Text LIST 5151
- ! 0308 BASIC Char Dispatch 4AA2
- ! 030A BASIC Token Eval. 78DA
- ! 030C-0310 Unknown vectors
- ! 0314 IRQ Hardware int. FA65
- ! 0316 BRK interrupt B003
- ! 0318 NMI Non-Mask. Int. FA40
- ! 031A OPEN EFBD
- ! 031C CLOSE F188
- ! 031E CHKIN F106
- ! 0320 CHKOUT F14C
- ! 0322 CLRCHN F226
- ! 0324 CHRIN EF06
- ! 0326 CHROUT EF79
- ! 0328 STOP F66E
- ! 032A GETIN EEEB
- ! 032C CLALL F222
- ! 032E User-Defined B006
- ! 0330 LOAD F26C
- ! 0332 SAVE F54E
- ! 0334-0348 KERNAL vectors
- ! 0334 CTLVAC ;EDIT;PRINT'CNTRL'IND
- ! 0336 SHFVAC ;ED;PRINT'SHIFTED'IND
- ! 0338 ESCVAC ;ED;PRINT'ESCAPE'IND
- ! 033A KEYVAC ;ED;KEYSCAN LOGIC IND
- !033C-037F KERNAL Tables
- !0380-03FF BASIC RAM Code
- ! 0380-039E BASIC CHRGET routine
- ! 039F-03D1 misc. LDA routines
- !0400-04FF VIC Text Screen (VM #1)
- !0800-09FF BASIC Run-Time Stack
- !0A00-0AFF MON & KERNAL Abs. Var.
- ! 0A00-0A01 BASIC Cold Start 4000/3
- ! 0A02 RAM Init. if =$A5
- ! 0A04 BASIC init. if bit 0 set
- ! 0A20- ;GLOBAL ABS SCR DECL
- ! 0A80-0AB4 ;MONITORS DOMAIN
- ! 0AC0 Number of Int./Ext. ROM's
- ! 0AC1-0AC4 Active ROM flags
- !0B00-0BBF Cassette Buffer
- !0BC0-0BFF (Disk Boot Page)
- !0C00-0CFF RS-232 Input Buffer
- !0D00-0DFF RS-232 Output Buffer
- !0E00-0FFF Sprite Definition Area
- !1000-10FF Function Key Buffer
- ! 1000-1009 # of bytes per key
- ! 100A- Function Key strings
- !1100-1107 CP/M Reset Code
- !1108-11FF BASIC DOS/VSP Variables
- !1200-12FF BASIC Absolute Variables
- ! 117A-122A Misc. vectors
- ! 1210 End of BASIC Program
- !1300-13FF ?
- !1400-17FF Resv./Foreign Lang. Sys.
- !1800-1BFF Resv./Function Key ML
- !1C00-FEFF BASIC Program Area or
- ! 1C00-1FFF VIC BIT-MAP Color (VM #2)
- ! 2000-3FFF VIC BIT-MAP Screen
- ! 4000-FEFF BASIC Program Area(con't)
- !FF05-FF44 KERNAL Dispatch Code
- !FFD0- CP/M and KERNAL RAM Code
- !FFFA-FFFF NMI;RST; and IRQ vectors
- !
- !****RAM(1)****
- !
- !0000-03FF Common with RAM(0)
- !0400-FEFF BASIC Variable Storage
- !FF05-FF44 KERNAL Int. Dispatch Code
- !FFF5-FFF9 "cbm" and RST addr $E224
- !FFFA-FFFF NMI;RST; and IRQ vectors
-